using System.ComponentModel;

namespace MM.Core
{
    public class Entity<T> : INotifyPropertyChanged where T : Entity<T>
    {
        public event PropertyChangedEventHandler PropertyChanged;

        public void NotifyPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        public T Clone()
        {
            return (T) MemberwiseClone();
        }
    }
}